package com.itlong.cloud;

/**
 * <desc>
 * 云平台公共常量接口
 * </desc>
 *
 * @createDate 2017/08/29
 */
public interface PlatformConstants {


    //分布式id加密key
    String BUSINESS_ID_MD5_KEY = "business.id.md5.key";


    /**********************************************************************************
     **********************************数据库******************************************
     **********************************************************************************/
    //标示当前操作是修改
    String TABLE_UPDATE = "UPDATE";
    //标示当前操作是增加
    String TABLE_SAVE = "SAVE";
    //SIP库从数据源配置如下：
    //连接地址
    String DATASOURCE_SIP_MYSQL_URL = "datasource.sip.mysql.url";
    //用户名
    String DATASOURCE_SIP_MYSQL_USERNAME = "datasource.sip.mysql.username";
    //密码
    String DATASOURCE_SIP_MYSQL_PASSWORD = "datasource.sip.mysql.password";
    //最小连接
    String SIP_MINIDLE =  "sip.minIdle";
    //最大连接
    String SIP_MAXACTIVE = "sip.maxActive";
    //配置获取连接等待超时的时间
    String SIP_MAXWAIT = "sip.maxWait";
    //配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒
    String SIP_TIMEBETWEENEVICTIONRUNSMILLIS = "sip.timeBetweenEvictionRunsMillis";
    //配置一个连接在池中最小生存的时间，单位是毫秒
    String SIP_MINEVICTABLEIDLETIMEMILLIS = "sip.minEvictableIdleTimeMillis";
    //自动回收超时时间
    String SIP_REMOVEABANDONEDTIMEOUT = "sip.removeAbandonedTimeout";
    //主数据库配置如下：
    //连接地址
    String DATASOURCE_MYSQL_URL = "datasource.mysql.url";
    //用户名
    String DATASOURCE_MYSQL_USERNAME = "datasource.mysql.username";
    //密码
    String DATASOURCE_MYSQL_PASSWORD = "datasource.mysql.password";

    //U8同步产品数据临时库从数据源配置如下：
    //连接地址
    String DATASOURCE_U8_MYSQL_URL = "datasource.u8.mysql.url";
    //用户名
    String DATASOURCE_U8_MYSQL_USERNAME = "datasource.u8.mysql.username";
    //密码
    String DATASOURCE_U8_MYSQL_PASSWORD = "datasource.u8.mysql.password";
    //最小连接
    String U8_MINIDLE =  "u8.minIdle";
    //最大连接
    String U8_MAXACTIVE = "u8.maxActive";
    //配置获取连接等待超时的时间
    String U8_MAXWAIT = "u8.maxWait";
    //配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒
    String U8_TIMEBETWEENEVICTIONRUNSMILLIS = "u8.timeBetweenEvictionRunsMillis";
    //配置一个连接在池中最小生存的时间，单位是毫秒
    String U8_MINEVICTABLEIDLETIMEMILLIS = "u8.minEvictableIdleTimeMillis";
    //自动回收超时时间
    String U8_REMOVEABANDONEDTIMEOUT = "u8.removeAbandonedTimeout";


    /**********************************************************************************
     * ********************************HTTP请求常量************************************
     **********************************************************************************/
    //默认编码
    String DEFAULT_CHARSET = "UTF-8";
    //GBK编码
    String GBK_CHARSET = "GBK";
    //POST请求
    String METHOD_POST = "POST";
    //GET请求
    String METHOD_GET = "GET";
    //HTTP请求参数校验提示文字
    String ERRINFO_REMOTEURL = "远程URL不能为空";
    //HTTP请求参数校验提示文字
    String ERRINFO_CONTENTISNULL = "远程内容不能为空";
    //HTTP请求参数校验提示文字
    String ERROR_CHARSET = "编码错误";
    //不能访问服务器错误标识码
    String ERRINFO_FILENOTFOUNDEXCEPTION = "994114";
    //连接服务器超时错误标识码
    String ERRINFO_TIMEOUTEXCEPTION = "994115";
    //无法连接服务器错误标识码
    String ERRINFO_SOCKETEXCEPTION = "994116";
    //连接服务器发生异常错误标识码
    String ERRINFO_OTHEREXCEPTION = "994117";


    /**********************************************************************************
     * ********************************住址常量****************************************
     **********************************************************************************/
    //最小楼栋编号（001）
    int MIN_BUILD_NUM = 1;
    //最大楼栋编号
    int MAX_BUILD_NUM = 999;
    //最小单元编号（01）
    int MIN_UNIT_NUM = 1;
    //最大单元编号（09）
    int MAX_UNIT_NUM = 9;
    //最小房间编号 （0101）
    int MIN_ROOM_NUM = 101;
    //最大房间编号（9999）
    int MAX_ROOM_NUM = 9999;
    //单层最小房间编号 （1）
    int ONE_FLOOR_MIN_ROOM_NUM = 1;
    //单层最大房间编号（99）
    int ONE_FLOOR_MAX_ROOM_NUM = 99;
    //最大楼层数
    int MAX_FLOOR_NUM = 99;
    //单次允许导入的房屋数量
    int MAX_IMPORT_ADDRESS_COUNT = 1000;
    //楼栋名称最大长度
    int MAX_BUILD_NAME_LENGTH = 15;
    //单元名称最大长度
    int MAX_UNIT_NAME_LENGTH = 5;
    //房间备注最大长度
    int MAX_ROOM_REMARK_LENGTH = 50;
    //楼栋备注最大长度
    int MAX_BUILD_REMARK_LENGTH = 50;
    //楼栋单元代号最小值
    int MIN_UNIT_ALIAS = 101;
    //楼栋单元代号最大值
    int MAX_UNIT_ALIAS = 99909;
    //最小单元组号
    int MIN_UNIT_GROUP_NUM = 1;
    //最大单元组号
    int MAX_UNIT_GROUP_NUM = 99;
    //单栋最大单元编号（99）
    int ONE_BUILD_MAX_UNIT_NUM = 99;
    //房屋呼叫代号最小值
    int MIN_ROOM_ALIAS = 1;
    //房屋呼叫代号最大值
    int MAX_ROOM_ALIAS = 999999;
    //非法的楼栋单元代号及房间呼叫代号
    int INVALID_ALIAS = 9999;
    //管理中心呼叫代号
    String CENTER_CALL_CODE = "0000";


    /**********************************************************************************
     **********************************设备常量****************************************
     **********************************************************************************/
    // 最大的电梯设备机号
    int MAX_ELEVATOR_DEVICEID = 384;
    // 最小的设备机号
    int MIN_EQUIP_DEVICEID = 1;
    // 最大的云对讲设备机号
    int MAX_CLOUD_INTERCOM_DEVICEID = 2048;
    // 最大的门禁设备机号
    int MAX_ENTRANCE_DEVICEID = 2048;
    //最大电梯楼层数
    int MAX_ELEVATOR_FLOORNUM = 112;
    //蓝牙开门阈值
    String EQUIP_BLUETOOTH_OPEN_THRESHOLD = "85";
    //云对讲设备腾讯IOT添加链接地址
    String EQUIP_CLOUDINTERCOM_QQ_IOT_URL = "equip.cloudIntercom.qq.iot.url";
    //地址导入导出文件（Excel *.xls)存放路径 /opt/static_file/project
    String ADDRESS_IMPORT_EXPORT_FILE_LOCAL_PATH = "J://Program Files (x86)/SmartCardSystem/EIServer/Tomcat/7.0.78/webapps/itlfiles/";
    String ADDRESS_IMPORT_EXPORT_FILE = "AddressTemplate.xls";
    String DEVICE_SIP_ACCOUNT_PREFIX = "device.sip.account.prefix";
    //云门禁设备Token加密key
    String CLOUD_ENTRANCE_TOKEN_KEY = "cloud.entrance.token.key";
    String CLOUD_ENTRANCE_TOKEN_PREFIX = "__ITL__CLOUD_ELEVATOR__PREFIX__IDENTITY___";
    String CLOUD_CONTROLLER_TOKEN_KEY = "cloud.controller.token.key";
    String CLOUD_CONTROLLER_TOKEN_PREFIX = "__ITL__CLOUD_CONTROLLER__PREFIX__IDENTITY___";
    //云电梯设备产品型号Id
    String COUD_ELEVATOR_PRODUCT_TYPEID = "cloud.elevator.product.typeid";
    //云对讲SDK设备产品型号Id
    String COUD_TALK_PRODUCT_TYPEID = "cloud.talk.product.typeid";
    //云对讲接口身份验证不拦截的url
    String CLOUD_TALK_TOKEN_DONTINTERCEPT = "cloud.talk.token.dont.intercept";
    //云电梯AES加密key
    String CLOUD_ELEVATOR_AESKEY = "cloud.elevator.aeskey";
    //云电梯MD5加密key
    String CLOUD_ELEVATOR_MD5KEY = "cloud.elevator.md5key";
    //云对讲设备Token加密key
    String CLOUD_TALK_TOKEN_KEY = "cloud.talk.token.key";
    String CLOUD_TALK_TOKEN_PREFIX = "__ITL__CLOUD_TALK__PREFIX__IDENTITY___";
    //云电梯设备Token加密key
    String CLOUD_ELEVATOR_TOKEN_KEY = "cloud.elevator.token.key";
    String CLOUD_ELEVATOR_TOKEN_PREFIX = "__ITL__CLOUD_ELEVATOR__PREFIX__IDENTITY___";
    //云对讲SDK APP服务不需要拦截的方法
    String CLOUD_TALK_SDK_APP_USER_TOKEN_DONTINTERCEPT = "cloud.talk.sdk.app.user.token.dontintercept";
    //云对讲SDK AES加密key
    String CLOUD_TALK_SDK_AESKEY = "cloud.talk.sdk.aeskey";
    //云对讲SDK MD5加密key
    String CLOUD_TALK_SDK_MD5KEY = "cloud.talk.sdk.md5key";
    //云对讲SDK服务端不需要拦截的方法
    String CLOUD_TALK_SDK_SERVER_USER_TOKEN_DONTINTERCEPT = "cloud.talk.sdk.server.user.token.dontintercept";
    //云对讲设备二维码腾讯IOT添加链接地址
    String CONSTANTS_EQUIP_CLOUDINTERCOM_QQ_IOT_URL = "http://iot.qq.com/add?pid=";


    /**********************************************************************************
     * ********************************多媒体资源常量****************************************
     **********************************************************************************/
    int MEDIA_TITLE_MAX_LENGTH = 15; //多媒体资源标题最大长度
    int MEDIA_TEXT_MAX_LENGTH = 100; //多媒体资源文字内容最大长度
    String MEDIA_PAGE_PLAY_VIDEO_SUPPORT_FORMAT = "CODEC_ID_H264,CODEC_ID_MPEG4"; //多媒体页面视频预览支持的视频编码格式，多个以，分隔


    /**********************************************************************************
     * ********************************凯通短信账号信息********************************
     **********************************************************************************/
    String SMS_MESSAGE_URL = "http://apis.baidu.com/kingtto_media/106sms/106sms";  //短信调用路由
    String SMS_MESSAGE_APIKEY = "014972a8b0ecc7e260daae7fba396eaa"; //密钥
    String SMS_MESSAGE_SIGN = "\u3010\u4e91\u534a\u5f84\u3011"; //发送短信前缀【家半径】的Unicode编码
    String SMS_MESSAGE_INTERNATIONAL_SIGN = "\u3010\u004a\u0069\u0061\u002d\u0052\u3011"; //发送邮箱验证码前缀【家半径】的Unicode编码
    String SMS_MESSAGE_ACTION_URL = "http://sms.kingtto.com:9999/sms.aspx";
    String SMS_MESSAGE_ACCOUNT = "itlong";
    String SMS_MESSAGE_PASSWORD = "itlongserver2018";
    String SMS_MESSAGE_ID = "6256";


    /**********************************************************************************
     * ********************************极光推送信息************************************
     **********************************************************************************/
    String J_PUSH_APP_KEY = "jPush.app.key"; //极光推送所需key
    String J_PUSH_MASTER_SECRET = "jPush.master.secret"; //极光推送所需密钥
    String J_PUSH_EN_APP_KEY = "jPush.en.app.key"; //极光推送所需key
    String J_PUSH_EN_MASTER_SECRET = "jPush.en.master.secret"; //极光推送所需密钥
    //审核通过
    String J_PUSH_SCENE_TYPE_PASS = "5";
    //审核未通过
    String J_PUSH_SCENE_TYPE_NOT_PASS = "6";


    /**********************************************************************************
     * ********************************用户相关常量定义********************************
     **********************************************************************************/
    //APP用户Token加密Key
    String APP_USER_TOKEN_KEY = "app.user.token.key";
    String APP_USER_TOKEN_PREFIX = "__ITL__APP__PREFIX__IDENTITY___";
    String ROBOT_USER_TOKEN_PREFIX = "__ITL__ROBOT__PREFIX__IDENTITY___";
    String APP_QRCODE_RUN_ENVIRONMENT = "qrcode.common.floor.run.environment";

    String ROBOTGO_APP_SECRET = "robotgo.appsecret";
    //APP-API请求参数加密KEY
    String APP_REQUEST_PARAMS_ENCRYPT_KEY = "app.request.params.encrypt.key";
    //云对讲SDK APP请求参数加密KEY
    String CLOUDTALK_SDK_APP_REQUEST_PARAMS_ENCRYPT_KEY = "cloudtalk.sdk.app.request.params.encrypt.key";
    //运营用户Token加密key
    String OPERATE_USER_TOKEN_KEY = "operate.user.token.key";
    String OPERATE_USER_TOKEN_PREFIX = "__ITL__OPERATE__PREFIX__IDENTITY___";
    //物业用户Token加密key
    String PROPERTY_USER_TOKEN_KEY = "property.user.token.key";
    String PROPERTY_USER_TOKEN_PREFIX = "__ITL__PROPERTY__PREFIX__IDENTITY___";
    //物业app用户token加密key
    String PROPERTY_APP_USER_TOKEN_KEY = "property.app.user.token.key";
    String PROPERTY_APP_USER_TOKEN_PREFIX = "__ITL__PROPERTY__APP__PREFIX__IDENTITY___";
    //物业app验签MD5加密key
    String PROPERTY_APP_MD5_ENCRYPT_KEY = "property.app.md5.encrypt.key";
    //运营物业小程序内容AES加密key
    String PROPERTY_OPERATE_MINI_CONTENT_AES_ENCRYPT_KEY = "property.operate.mini.content.aes.encrypt.key";
    //运营物业验签MD5加密key
    String PROPERTY_OPERATE_MD5_ENCRYPT_KEY = "property.operate.md5.encrypt.key";
    //SDK服务端用户Token加密key
    String SDKSERVER_USER_TOKEN_KEY = "sdkserver.user.token.key";
    String SDKSERVER_USER_TOKEN_PREFIX = "__ITL__SDKSERVER__PREFIX__IDENTITY___";
    //SDK限流数量
    String SDK_QPS_LIMIT = "sdk.qps.limit";

    //限流规则缓存时间
    Long SDK_REDIS_TIME= 30*24*60*60L;
    //token限流数量
    String SDK_TOKEN_QPS_LIMIT = "sdk.token.qps.limit";
    //云对讲用户token加密key
    String CLOUDTALK_SDK_USER_TOKEN_KEY = "cloudtalk.sdk.user.token.key";
    //云对讲APP端 token加密key
    String CLOUDTALK_SDK_APP_TOKEN_KEY = "cloudtalk.sdk.app.token.key";
    String CLOUDTALK_SDK_USER_TOKEN_PREFIX = "__ITL__CLOUDTALK__SDK__USER__PREFIX__IDENTITY__";
    //微信小程序用户Token加密Key
    String MINI_PROGRAM_USER_TOKEN_KEY = "mini.program.user.token.key";
    String MINI_PROGRAM_USER_TOKEN_PREFIX = "__ITL__MINI_PROGRAM__PREFIX__IDENTITY___";
    //微信小程序-API请求参数加密KEY
    String MINI_PROGRAM_REQUEST_PARAMS_ENCRYPT_KEY = "mini.program.request.params.encrypt.key";
    //APP h5请求参数加密key
    String APP_H5_REQUEST_PARAMS_ENCRYPT_KEY = "app.h5.request.params.encrypt.key";
    String APP_H5_TOKEN_KEY = "app.h5.token.key";
    //c管理中心工程人员登录token key
    String C_MANAGEMENT_USER_TOKEN_KEY = "c.management.user.token.key";
    String C_MANAGEMENT_USER_TOKEN_PREFIX = "__ITL__MANAGEMENT__PREFIX__IDENTITY___";
    //运营登录时允许的最大错误次数
    Integer OPERATE_LOGIN_MAX_ERROR_COUNT = 5;
    //运营登录多次错误后锁定时间：30分钟
    Long OPERATE_LOGIN_ERROR_LOCK_TIME = 30 * 60L;
    //运营用户默认密码
    String OPERATE_USER_DEFAULT_PASSWORD = "operate.user.default.password";
    //运营系统身份验证不拦截的url
    String OPERATE_USER_TOKEN_DONTINTERCEPT = "operate.user.token.dont.intercept";
    //运营用户密码加密key
    String OPERATE_USER_PASSWORD_KEY = "operate.user.password.key";
    //物业系统身份验证不拦截的方法名
    String PROPERTY_USER_TOKEN_DONTINTERCEPT = "property.user.token.dont.intercept";
    //SDK系统身份验证不拦截的类名.方法名
    String SDK_USER_TOKEN_DONTINTERCEPT = "sdk.user.token.dont.intercept";
    //物业app验证不拦截的方法名
    String PROPERTY_APP_USER_TOKEN_DONTINTERCEPT = "property.app.user.token.dont.intercept";
    //物业管理员默认密码
    String PROPERTY_MANAGER_DEFAULT_PASSWORD = "property.manager.default.password";
    //物业人员默认密码
    String PROPERTY_USER_DEFAULT_PASSWORD = "property.user.default.password";
    //物业拦截模式
    String PROPERTY_LOGIN_INTECEPT_MODE = "property.login.intercept.mode";
    //物业登录时允许的最大错误次数
    Integer PROPERTY_LOGIN_MAX_ERROR_COUNT = 5;
    //物业登录多次错误后锁定时间：30分钟
    Long PROPERTY_LOGIN_ERROR_LOCK_TIME = 30 * 60L;
    //SDK拦截模式
    String SDK_LOGIN_INTECEPT_MODE = "sdk.login.intercept.mode";
    //物业后台访客主动向前端推送消息URL
    String PROPERTY_VISITOR_PUSH_MESSAGE_URL = "property.visitor.push.message.url";
    //物业后台访客主动向前端推送消息的端口号
    String PROPERTY_VISITOR_PUSH_MESSAGE_PORT = "property.visitor.push.message.port";

    //物业后台Token校验url
    String TOKEN_VALID_URL = "token.valid.url";
    String TOKEN_VALID_PORT = "token.valid.port";

    //物业后台Token校验url
    String PROPERTY_MOVE_USER_PUSH_MESSAGE_URL = "property.move.user.push.message.url";
    String PROPERTY_MOVE_USER_PUSH_MESSAGE_PORT = "property.move.user.push.message.port";

    //用户手机号正则表达式匹配
    String USER_PHONENUM_REGIX = "^1[3|4|5|6|7|8|9]\\d{9}$";
    //APP用户登录设备类型
    String IOS_DEVICE_FLAG = "iOS";
    String ANDORID_DEVICE_FLAG = "android";
    //新版APP身份验证不拦截的url
    String APP_USER_TOKEN_DONTINTERCEPT = "app.user.token.dont.intercept";
    //微信小程序身份验证不拦截的url
    String WECHAT_MINI_USER_TOKEN_DONTINTERCEPT = "wechat.mini.user.token.dont.intercept";
    //项目证书版本号
    String PROJECT_LICENSE_VERSION = "project.license.version";


    /**********************************************************************************
     * ********************************项目常量****************************************
     **********************************************************************************/
    //地址导入导出文件标题列表,用于校验文件内的数据合法性
    String[] ADRESS_EXCEL_COLUMN_TITLES = {
            "楼栋名称",
            "楼栋编号",
            "单元名称",
            "单元编号",
            "单元代号",
            "房号",
            "建筑面积(平方米)",
            "访客呼叫码",
            "电梯正背门",
            "备注"
    };
    // 车位导入文件标题列表，用于校验文件内的数据合法性
    String[] PARKING_EXCEL_COLUMN_TITLES = {
            "车位号",
            "车位面积",
            "车位类型",
            "车位状态",
            "备注"
    };

    //云对讲业务服务器默认地址
    String CLOUD_INTERCOM_BUSINESS_SERVER_DEFAULT_URL = "project.cloud.intercom.business.server.default";
    //项目编号正则表达式匹配
    String PROJECTID_REGEX = "\\d{8}";

    //社区场景
    String COMMUNITY_SCENE_ID = "community.scene.id";
    //园区场景
    String PARK_SCENE_ID = "park.scene.id";
    //酒店场景
    String HOTEL_SCENE_ID = "hotel.scene.id";
    //医院场景
    String HOSPITAL_SCENE_ID = "hospital.scene.id";



    /**********************************************************************************
     * ********************************文件上传相关常量定义****************************
     **********************************************************************************/
    String FILE_FTP_HOST = "file.ftp.host";
    String FILE_FTP_USERNAME = "file.ftp.username";
    String FILE_FTP_PASSWORD = "file.ftp.password";
    String FILE_FTP_PORT = "file.ftp.port";
    String FILE_ACCESS_URL = "file.access.url";
    //文件上传超时
    Integer FILE_FTP_TIME_OUT = 5000;


    /**********************************************************************************
     * ********************************静态资源文件存放路径相关常量****************************
     **********************************************************************************/
    String PROJECT_STATIC_FILE_PATH = "project.static.file.path";
    String TENCENT_STATIC_FILE_PATH = "tencent.static.file.path";


    /**********************************************************************************
     * ********************************用户设备权限相关常量****************************
     **********************************************************************************/
    //设备授权-已选中但无法更改(前端显示用)
    int DEVICEAUTH_ISCHECKED_NO = 0;
    //设备授权-已选中且可以更改(前端显示用)
    int DEVICEAUTH_ISCHECKED_YSE = 1;
    //设备授权-未选中(前端显示用)
    int DEVICEAUTH_ISCHECKED_YET = 2;

    //设备服务地址信息表处理状态
    //未处理
    int DEVICESERVICEADDR_PROCESSSTATE_YET = 0;
    //已处理
    int DEVICESERVICEADDR_PROCESSSTATE_ALREADY = 1;
    //设备服务地址类型redis
    String DEVICESERVICEADDR_TYPE_BUILD = "buildIds";
    String DEVICESERVICEADDR_TYPE_UNIT = "unitIds";

    //用户设备权限编码
    //电梯设备无权限编码
    String ELEVATOR_NOAUTHNUM = "0";
    //电梯设备有权限编码
    String ELEVATOR_AUTHNUM = "1";
    //门禁对讲设备无权限编码
    String ENTRANCE_NOAUTHNUM = "7";
    //门禁设备有权限编码。1~8中，门禁权限码除7以外，其他均有权限，只是权限不同
    String ENTRANCE_AUTHNUM = "8";
    //云对讲对讲设备无权限编码
    String CLOUD_INTERCOM_NOAUTHNUM = "7";
    //云对讲设备有权限编码。1~8中，云对讲权限码除7以外，其他均有权限，只是权限不同
    String CLOUD_INTERCOM_AUTHNUM = "8";


    /**********************************************************************************
     * ********************************数据字典相关常量********************************
     **********************************************************************************/
    //在数据字典中根据类型获取值和名称
    String GET_DATADICTIONARY = "查询数据字典";


    /**********************************************************************************
     * ********************************与旺龙一卡通对接相关常量************************
     **********************************************************************************/
    //数据表名前缀
    //pull表
    String SMARTCARD_TABLENAME_PREFIX_PULL = "smartcard_pull_cloud_";
    //push表
    String SMARTCARD_TABLENAME_PREFIX_PUSH = "smartcard_push_cloud_";
    String SMARTCARD_SYNC_VERSION = "1.0"; //同步协议版本
    Integer SMARTCARD_TASK_SKIP_MAX_COUNT = 50; //一卡通数据同步定时任务最大允许跳过执行的次数
    String SMARTCARD_SYNC_DATA_CMD_ACT = "syncData"; //要求一卡通同步的命令标识
    Integer SMARTCARD_HANDLE_DATA_COUNT_PER_TIME = 1000; //一卡通同步数据，单次处理的命令上限
    Integer SMARTCARD_KEEP_PASSRECORD_PER_PROJECT = 10000; //一卡通同步数据，单个项目保留到最新通行记录的最大条数
    Integer HAS_SMART_CARD_PUSH_DATA_FOR_ANALYSIS = 1; //存在一卡通推送到云端的数据需解析
    Integer NO_SMART_CARD_PUSH_DATA_FOR_ANALYSIS = 0; //不存在一卡通推送到云端的数据需解析
    //旧一卡通登录账号和密码
    String OLD_SMARTCARD_LOGIN_USER = "admin";
    String OLD_SMARTCARD_LOGIN_PASSWORD = "itlong1qaz@WSX";
    //一卡通系统Token加密key
    String SMART_CARD_TOKEN_KEY = "smart.card.user.token.key";
    String SMART_CARD_TOKEN_PREFIX = "__SMART_CARD__PREFIX__IDENTITY___";
    //旧一卡通添加项目的服务器地址IP：端口
    String SERVICE_PATH_URL = "server.path.url";


    /**********************************************************************************
     * ********************************其他常量****************************************
     **********************************************************************************/
    //特殊字符
    String regEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？]";
    //官网地址
    String COMPANY_WEBSIT_URL = "company.websit.url";
    //APP默认的广告图片URL
    String COMPANY_APP_DEFAULT_IMG = "company.app.default.img";
    //APP服务版块的H5链接
    String PROPERTYMANAGE_WEB_URL = "propertyManage.web.url";


    /**********************************************************************************
     **********************************阿里物联网**************************************
     **********************************************************************************/
    //IoT API的服务接入地址
    String IOT_SERVICE_URL = "iot.service.url";
    String IOT_ACCESS_KEY_ID = "iot_access_key_id";
    String IOT_ACCESS_KEY_SECRET = "iot_access_key_secret";
    String IOT_REGION_ID = "iot_region_id";
    String IOT_DEFAULT_PRODUCT_KEY = "iot_default_product_key";
    String IOT_SMART_CARD_PRODUCT_KEY = "iot_smart_card_product_key";

    //阿里云mns服务
    String MNSEndpoint = "MNSEndpoint";
    String CLOUD_ELEVATOR_DEVICE_STATE_QUEUE = "iot.cloud.elevator.device.state.queue";
    String CLOUD_ENTRANCE_DEVICE_STATE_QUEUE = "iot.cloud.entrance.device.state.queue";
    //iot控制指令设备处理结果队列
    String IOT_CLOUD_HANDLE_RESULT_QUEUE = "iot.cloud.handle.result.queue";
    String CLOUD_INTERCOM_DEVICE_STATE_QUEUE = "iot.cloud.intercom.device.state.queue";
    String CLOUD_CONTROLLER_DEVICE_NOTIFY_MESSAGE_QUEUE = "iot.cloud.controller.device.notify.message.queue";

    //阿里OSS常量定义
    String ALIBABA_OSS_ENDPOINT = "alibaba.OSS.endpoint";
    String ALIBABA_OSS_ACCESSID = "alibaba.OSS.accessId";
    String ALIBABA_OSS_ACCESSKEY = "alibaba.OSS.accessKey";
    String ALIBABA_OSS_BUCKET = "alibaba.OSS.bucket";
    String ALIBABA_OSS_DIR = "alibaba.OSS.dir";
    String ALIBABA_OSS_MEDIA_DIR = "alibaba.OSS.media.dir";
    String ALIBABA_OSS_CALLBACKURL = "alibaba.OSS.callbackUrl";
    String ALIBABA_OSS_MEDIA_CALLBACKURL = "alibaba.OSS.media.callbackUrl";
    String ALIBABA_OSS_REGION = "alibaba.OSS.region";

    /**********************************************************************************
     **********************************华为云物联网**************************************
     **********************************************************************************/
    //IoT API的服务接入地址
    String HUAWEI_IOT_SERVICE_URL = "huawei.iot.server.url";
    String HUAWEI_IOT_SERVICE_PORT = "huawei.iot.server.port";
    String HUAWEI_IOT_APPID = "huawei.iot.appid";
    String HUAWEI_IOT_SECRET = "huawei.iot.secret";
    String HUAWEI_TOKEN_URL = "https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens";
    String HUAWEI_PROJECT_ID = "huawei.iot.projectid";
    String HUAWEI_IOT_STATE_URL = "huawei.iot.state";
    String HUAWEI_IOT_INFO_URL = "huawei.iot.info";
    /**********************************************************************************
     **********************************物业费*****************************************
     **********************************************************************************/
    // 物业费导入文件标题列表，用于校验文件内的数据合法性
    String[] PROPERTY_FEE_EXCEL_COLUMN_TITLES = {
            "收费月份",
            "地址",
            "住户",
            "手机号",
            "收费规则",
            "备注"
    };

    // 抄表导入文件标题列表，用于校验文件内的数据合法性
    String[] METER_INFO_EXCEL_COLUMN_TITLES = {
            "抄表月份",
            "地址",
            "住户",
            "手机号",
            "抄表类型",
            "抄表始度",
            "抄表止度",
            "损耗",
            "收费规则"
    };

    // 住户管理批量导入，用于校验文件内的数据合法性
    String[] PROPERTY_USER_EXCEL_COLUMN_TITLES = {
            "姓名",
            "手机号",
            "所在房间",
            "所属分组",
            "身份"
    };
    //账单导出文件（Excel *.xls)存放路径
    String UNPAYMENT_EXPORT_EXPORT_FILE = "UnpaymentTemplate.xls";
    String PAYMENT_EXORT_EXPORT_FILE = "PaymentTemplate.xls";
    String OPERATE_PAYMENT_EXORT_EXPORT_FILE = "OperateBillTemplate.xls";

    //物业费导入模板名称
    String PROPERTY_FEE_TEMPLATE_FILE_NAME = "propertyFeeTemplate.xls";
    //抄表费导入模板名称
    String METER_INFO_TEMPLATE_FILE_NAME = "meterInfoTemplate.xls";

    /**********************************************************************************
     **********************************住户管理*****************************************
     **********************************************************************************/
    //抄表费导入模板名称
    String APP_USER_INFO_House_FILE_NAME = "appUserInfoHouse.xls";
    String APP_USER_INFO_OFFICE_FILE_NAME =  "appUserInfooffice.xls";
    /**********************************************************************************
     **********************************微信相关常量************************************
     **********************************************************************************/
    //预支付统一下单请求地址
    String PREPAYURL = "wechat.prepayurl";
    //查询订单请求地址
    String ORDERURL = "wechat.orderurl";
    //商户APPID 代替换
    String APPID = "wechat.appid";
    //商户号 代替换
    String MCHID = "wechat.mchid";
    //应用市场APP名称-实际商品名称
    String BODY = "wechat.body";
    //正式版微信支付异步通知回调地址
    String NOTIFY_URL = "wechat.notify_url";
    //演示版微信支付异步通知回调地址
    String SHOW_NOTIFY_URL = "wechat.show.notify_url";
    //下载账单URL
    String DOWNLOADB_BILL_URL = "wechat.download_bill_url";
    //交易类型
    String TRADE_TYPE = "wechat.trade_type";
    //扩展字段
    String PACKAGE = "wechat.package";
    //密钥KEY
    String KEY_APPSECRET = "wechat.key";
    String H5_PAYMENT_HTML = "H5.payment.html";
    String H5_VISITOR_HTML = "H5.visitor.html";
    //请求微信小程序后台URL
    String MINI_PROGRAM_REQUEST_URL = "mini.program.request.url";
    //微信小程序APPID
    String MINI_PROGRAM_APPID = "mini.program.appid";
    //微信小程序SECRET
    String MINI_PROGRAM_SECRET = "mini.program.secret";
    //请求微信公众号后台URL
    String WECHAT_OFFICIAL_REQUEST_URL = "wechat.official.request.url";
    //微信公众号APPID
    String WECHAT_OFFICIAL_APPID = "wechat.official.appid";
    //微信公众号SECRET
    String WECHAT_OFFICIAL_SECRET = "wechat.official.secret";
    //微信公众号访客模板消息id
    String VISITOR_TEMPLATE_ID = "visitor.template.id";
    //微信公众号被访人模板消息id
    String OWNER_TEMPLATE_ID = "owner.template.id";
    // 第三方平台APPID
    String THIRD_PARTY_APPID = "thirdPartyAppId";
    // 第三方平台APPID
    String THIRD_PARTY_APP_SECRET = "thirdPartyAppSecret";
    // 第三方平台token
    String THIRD_PARTY_TOKEN = "thirdPartyToken";
    // 第三方平台EncodingAESKey
    String THIRD_PARTY_ENCODING_AES_KEY = "thirdPartyEncodingAESKey";


    /**********************************************************************************
     * ********************************银联支付相关常量********************************
     **********************************************************************************/
    //银联交易支付接口请求地址
    String CHINAPAY_PAY_URL = "chinapay.pay.url";
    //商户签名私钥
    String MERKEY_PATH = "chinapay.merkey.path";
    //ChinaPay签名公钥
    String PUBKEY_PATH = "chinapay.pubkey.path";
    //商户号
    String MERID = "chinapay.merid";
    //版本号
    String VERSION = "chinapay.version";
    //签名标志
    String SIGN_FLAG = "chianpay.signflag";
    //查询备付金接口请求URL
    String BALANCE_QUERY = "chianpay.query.url";
    //查询订单状态请求URL
    String QUERY_ORDER = "chinapay.query.order.url";
    //银联支付超时时间：4320分钟 三天
    Long CHINA_PAY_OUTTIME_TIME = 3 * 24 * 60L;


    /**********************************************************************************
     **********************************百度人脸常量定义********************************
     **********************************************************************************/
    String BAIDU_FACE_GROUPID = "baidu.face.groupid";
    String  PM_DEFAULT_FACE_LIBRARY_APPID  ="baidu.face.appId";
    String  PM_DEFAULT_FACE_LIBRARY_API_KEY="baidu.face.apiKey";
    String PM_DEFAULT_FACE_LIBRARY_SECRET_KEY="baidu.face.secretKey";

    /**********************************************************************************
     **********************************说明书管理相关常量定义****************************
     **********************************************************************************/
    String PAPER_HTML_SERVERPATH = "paper.html.serverpath";
    String PAPER_LOGO_SERVERPATH = "paper.logo.serverpath";


    /**********************************************************************************
     **********************************物业银行卡管理常量定义****************************
     **********************************************************************************/
    //银行卡管理申请表
    String BANK_CARD_NAMAGE_FORM = "bankCardForm.docx";

    //物业-提现银行卡管理申请表
    String PROPERTY_BANK_CARD_MANAGE_FOMR = "propertyBankCardManageForm.doc";


    /**********************************************************************************
     * ********************************灵云快智账号信息********************************
     **********************************************************************************/
    String LYKZ_ACCOUNT_SID = "lykz.account.sid";
    String LYKZ_ACCOUNT_TOKEN = "lykz.account.token";
    String LYKZ_APPID = "lykz.appid";
    String LYKZ_SOFT_VERSION = "lykz.soft.version";
    String LYKZ_URL = "lykz.url";
    String LYKZ_PORT= "lykz.port";


    /**********************************************************************************
     * ********************************TCPredis服务信息*******************************
     **********************************************************************************/
    String TCP_REDIS_IP = "tcp.redis.ip";
    String TCP_REDIS_PORT = "tcp.redis.port";
    String TCP_SERVER_IP = "tcp.server.ip";
    String TCP_SERVER_PORT = "tcp.server.port";
    String TCP_SERVER_HEARTBEAT = "tcp.server.heartbeat";


     /***********************************************************************************
     *****************************智慧停车管理相关常量定义*******************************
     **********************************************************************************/
    String PARK_COUPON_HTML_SERVERPATH = "park.coupon.html.serverpath";
    // 车位模板名称
    String PARKING_IMPORT_TEMPLATE_FILE_NAME = "ParkingTemplate.xls";
    // 车辆导入文件模板名称
    String CAR_IMPORT_TEMPLATE_FILE_NAME = "CarTemplate.xls";
    // 车辆导入文件标题列表，用于校验文件内的数据合法性
    String[] CAR_EXCEL_COLUMN_TITLES = {
            "车牌号",
            "地址",
            "车位号",
            "车主姓名",
            "车主联系方式",
            "机动车类型"
    };

    /**********************************************************************************
     *******************************设备二维码管理相关常量定义*************************
     **********************************************************************************/
    String  DEVICE_QR_CODE_HTML_SERVERPATH = "device.qrcode.html.serverpath";


    /**********************************************************************************
     *******************************welink*************************
     **********************************************************************************/
    String WELINK_APPID = "welink.appid";
    String WELINK_SECRET = "welink.secret";
    String WELINK_ACCESS_TOKEN_URL = "https://open.welink.huaweicloud.com/api/auth/v2/tickets";
    String WELINK_USER_LOGIN_URL = "https://open.welink.huaweicloud.com/api/auth/v2/userid";

    /**********************************************************************************
     *******************************JD*************************
     **********************************************************************************/
    String JD_APPID = "jd.appid";
    String JD_SECRET = "jd.secret";
    String JD_DOMAIN = "jd.domain";
    String JD_REPORT_RUN_DATA_API = "/device/reportRunData";
    String JD_VERSION = "1.0";
    String JD_NAME = "JD-IOT-ESTATE-DEVICE";
    String JD_ID = "ca0bd1f5ce4a445e8d213fe0de617707";
    String JD_URL = "jd.url";
    String JD_PROJECT_ID = "JD_PROJECT_ID";
    String JD_CHANGEONLINESTATUS_URL = "/device/changeOnlineStatus";
    String JD_EVENT_REPORT = "/device/event/report";

    /**********************************************************************************
     *******************************设备白名单相关常量定义*************************
     **********************************************************************************/
    String[] DEVICE_WHITE_LIST_TITLES = {
            "Mac地址",
            "备注"
    };
    String DEVICE_WHITE_LIST_IMPORT_TEMPLATE = "deviceWhiteListTemplate.xls";

    /**********************************************************************************
     *******************************异常通知开发者相关常量定义*************************
     **********************************************************************************/
    String EXCEPTION_NOTIFY_DEVELOPER_TELE_NUMS = "exception_notify_developer_tele_nums";


    /**********************************************************************************
     *******************************线下平台********************************************
     **********************************************************************************/
    String OFFLINE_PLATFORM_DOMAIN = "offline.platform.domain";
//    String OFFLINE_PLATFORM_DOMAIN = "http://192.168.123.78:8091";
    //新增项目信息
    String OFFLINE_PLATFORM_API_ADD_PROJECT_INFO = "/api/project_info/add_project_info";
    //修改项目信息
    String OFFLINE_PLATFORM_EDIT_PROJECT_INFO = "/api/project_info/edit_project_info";
    //新增项目key
    String OFFLINE_PLATFORM_ADD_PROJECT_KEY= "/api/project_info/add_project_key";
    //获取项目可用id
    String OFFLINE_PLATFORM_GET_PROJECTID_BY_TYPE= "/api/project_info/get_projectid_by_type";

    String OFFLINE_PLATFORM_TOKEN = "offline.platform.token";

    //调用线下平台呼梯url
    String OFFLINE_PLATFORM_CALL_ELEVATOR_URL= "offline.platform.call.elevator.url";

    /**********************************************************************************
     *******************************派宝机器人相关常量定义*****************************
     **********************************************************************************/
    //派宝机器人appkey
    String PAD_BOT_ROBOT_APP_KEY = "padbot.robot.appkey";
    //派宝机器人apptoken
    String PAD_BOT_ROBOT_APP_TOKEN = "padbot.robot.apptoken";

    /**********************************************************************************
     *******************************合景泰富非标项目相关常量定义*****************************
     **********************************************************************************/
    //合景泰富非标项目ID
    String NO_STANDARD_PROJECT_ID = "no.standard.projectId";

    /**********************************************************************************
     *******************************摄像头模块相关常量定义*****************************
     **********************************************************************************/
    //IP规则
    String AI_CAMERA_IP_RULE ="^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";

    //日志requestID
    String REQUEST_ID = "REQUEST_ID";
    //日志功能名称
    String FEATURES = "FEATURES";

    //设备日志
    String DEVICE_LOG = "operate.device.log";
}
